package com.ruoyi.service.jpjs.excellence;

import com.ruoyi.domain.jpjs.common.excellence.Excellence;
import com.ruoyi.domain.jpjs.common.excellence.ExcellenceFile;
import com.ruoyi.domain.jpjs.common.excellence.ExcellenctDetail;

import java.util.List;
import java.util.Map;

/**
 * @author C.fw
 * @explain 危大工程报表业务层
 * @since 2020/8/15 15:43
 */
public interface ExcellenceService {

    /**
     * 根据筛选条件获取危大工程
     * @param map
     * @return 结果
     */
    List<Excellence> getExcellenceList(Map<String, Object> map);

    /**
     * 批量危大工程信息
     *
     * @param excellence 危大工程信息集合
     * @return 新增条数
     */
    public int insertExcellenceBatches(List<Excellence> excellence);

    /**
     * 更新危大工程信息
     *
     * @param excellence 报表标识
     * @return 结果
     */
    public int updateExcellenceInfo(Excellence excellence);

    /**
     * 报表标识删除报表
     *
     * @param excellenceId 报表标识
     * @return 结果
     */
    public int deleteExcellenceById(String excellenceId);

    List<ExcellenctDetail> selectExcellenceDetailList(Map<String, Object> map);

    /**
     * 新增危大工程详情信息
     *
     * @param excellenctDetail 危大工程信息详情
     * @return 新增条数
     */
    public int insertExcellenceDetail(ExcellenctDetail excellenctDetail);

    /**
     * 报表标识删除报表
     *
     * @param detailId 报表标识
     * @return 结果
     */
    public int deleteDetailById(String detailId);

    int updateExcellenceDetailById(ExcellenctDetail excellenctDetail);

    /**
     * 根据ID删除动态信息附件
     *
     * @param detailId 创优工程动态信息ID
     * @return 结果
     */
    Boolean deleteFilePathById(Long detailId);

    int updatePathById(Long detailId);

    public String importExcellence(List<Excellence> excellenceList, Boolean updateSupport);

    List<Excellence> selectOfficeByProgramName(Excellence excellence);

    public int insertExcellenceFile(ExcellenceFile excellenceFile);

    List<ExcellenceFile> selectOfficeFileList(Map<String, Object> map);

    public int deleteOfficeFileById(String file);
}
